package youdu

import (
	"youdu/model"
)

const API_PATH_APP_MSG string = "/cgi/msg/send"

/*
SendTextMsg 发送文本消息

	toUser: 接收消息的用户账号，多个账号使用|分隔
	toDept: 接收消息的部门，多个部门使用|分隔
	content: 消息文本内容，支持表情
*/
func (o *Appmsg) SendTextMsg(toUser string, toDept string, content string) error {

	// 构造消息内容
	msg := model.TextMessage{
		ToUser:  toUser,
		ToDept:  toDept,
		MsgType: "text",
		Text: model.TextMessageText{
			Content: content,
		},
	}

	_, err := Tools.ApiRequest(
		o.Server,
		o.Buin,
		o.AppId,
		o.EncodedAesKey,
		API_PATH_APP_MSG,
		msg,
	)
	return err
}

/*
SendMailMsg 发送邮件消息

	toUser: 接收消息的用户账号，多个账号使用|分隔，最多支持1000个
	toEmail: 接收邮件列表。多个用|分隔，最多1000个。toUser不为空，toEmail值无效
	mail.action：邮件消息类型。new: 新邮件，unread: 未读邮件数
	mail.subject: 邮件主题。action为new时有效，可为空
	mail.fromUser: 发送者帐号，action为new时有效
	mail.fromEmail: 发送者邮件帐号，action为new时有效。fromUser不为空，fromEmail值无效
	mail.time: 邮件发送时间。为空默认取服务器接收到消息的时间
	mail.link: 邮件链接。action为new时有效，点此链接即可打开邮件，为空时点击邮件消息默认执行企业邮箱单点登录
	mail.unreadCount: 未读邮件数。action为unread时有效
*/
func (o *Appmsg) SendMailMsg(
	msg model.MailMessage) error {

	// appId: 应用ID固定的
	// appId := "sysExmailAssistant"

	_, err := Tools.ApiRequest(
		o.Server,
		o.Buin,
		o.AppId,
		o.EncodedAesKey,
		API_PATH_APP_MSG,
		msg,
	)
	return err
}
